diff --git a/arch/arm/mach-uniphier/arm32/debug_ll.S b/arch/arm/mach-uniphier/arm32/debug_ll.S
index 5db7427..76631f2 100644
--- a/arch/arm/mach-uniphier/arm32/debug_ll.S
+++ b/arch/arm/mach-uniphier/arm32/debug_ll.S
@@ -29,7 +29,7 @@
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
 #define UNIPHIER_SLD3_UART_CLK		36864000
 	cmp		r1, #0x25
-	bne		ph1_sld3_end
+	bne		sld3_end
 
 	sg_set_pinsel	64, 1, 4, 4, r0, r1	@ TXD0 -> TXD0
 
@@ -45,12 +45,12 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_SLD3_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-ph1_sld3_end:
+sld3_end:
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4)
 #define UNIPHIER_LD4_UART_CLK		36864000
 	cmp		r1, #0x26
-	bne		ph1_ld4_end
+	bne		ld4_end
 
 	ldr		r0, =SG_IECTRL
 	ldr		r1, [r0]
@@ -62,12 +62,12 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_LD4_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-ph1_ld4_end:
+ld4_end:
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO4)
 #define UNIPHIER_PRO4_UART_CLK		73728000
 	cmp		r1, #0x28
-	bne		ph1_pro4_end
+	bne		pro4_end
 
 	sg_set_pinsel	128, 0, 4, 8, r0, r1	@ TXD0 -> TXD0
 
@@ -83,12 +83,12 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_PRO4_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-ph1_pro4_end:
+pro4_end:
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_SLD8)
 #define UNIPHIER_SLD8_UART_CLK		80000000
 	cmp		r1, #0x29
-	bne		ph1_sld8_end
+	bne		sld8_end
 
 	ldr		r0, =SG_IECTRL
 	ldr		r1, [r0]
@@ -100,12 +100,12 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_SLD8_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-ph1_sld8_end:
+sld8_end:
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
 #define UNIPHIER_PRO5_UART_CLK		73728000
 	cmp		r1, #0x2A
-	bne		ph1_pro5_end
+	bne		pro5_end
 
 	sg_set_pinsel	47, 0, 4, 8, r0, r1	@ TXD0 -> TXD0
 	sg_set_pinsel	49, 0, 4, 8, r0, r1	@ TXD1 -> TXD1
@@ -124,12 +124,12 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_PRO5_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-ph1_pro5_end:
+pro5_end:
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2)
 #define UNIPHIER_PXS2_UART_CLK		88900000
 	cmp		r1, #0x2E
-	bne		proxstream2_end
+	bne		pxs2_end
 
 	ldr		r0, =SG_IECTRL
 	ldr		r1, [r0]
@@ -149,12 +149,12 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_PXS2_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-proxstream2_end:
+pxs2_end:
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD6B)
 #define UNIPHIER_LD6B_UART_CLK		88900000
 	cmp		r1, #0x2F
-	bne		ph1_ld6b_end
+	bne		ld6b_end
 
 	ldr		r0, =SG_IECTRL
 	ldr		r1, [r0]
@@ -173,7 +173,7 @@
 	ldr		r3, =DIV_ROUND(UNIPHIER_LD6B_UART_CLK, 16 * BAUDRATE)
 
 	b		init_uart
-ph1_ld6b_end:
+ld6b_end:
 #endif
 	mov		pc, lr
 
diff --git a/arch/arm/mach-uniphier/bcu/bcu-ld4.c b/arch/arm/mach-uniphier/bcu/bcu-ld4.c
index bbe8a74..eeab802 100644
--- a/arch/arm/mach-uniphier/bcu/bcu-ld4.c
+++ b/arch/arm/mach-uniphier/bcu/bcu-ld4.c
@@ -11,7 +11,7 @@
 
 #define ch(x) ((x) >= 32 ? 0 : (x) < 0 ? 0x11111111 : 0x11111111 << (x))
 
-int ph1_ld4_bcu_init(const struct uniphier_board_data *bd)
+int uniphier_ld4_bcu_init(const struct uniphier_board_data *bd)
 {
 	int shift;
 
diff --git a/arch/arm/mach-uniphier/bcu/bcu-sld3.c b/arch/arm/mach-uniphier/bcu/bcu-sld3.c
index b7497e9..493e6d5 100644
--- a/arch/arm/mach-uniphier/bcu/bcu-sld3.c
+++ b/arch/arm/mach-uniphier/bcu/bcu-sld3.c
@@ -11,7 +11,7 @@
 
 #define ch(x) ((x) >= 32 ? 0 : (x) < 0 ? 0x11111111 : 0x11111111 << (x))
 
-int ph1_sld3_bcu_init(const struct uniphier_board_data *bd)
+int uniphier_sld3_bcu_init(const struct uniphier_board_data *bd)
 {
 	int shift;
 
diff --git a/arch/arm/mach-uniphier/board_early_init_f.c b/arch/arm/mach-uniphier/board_early_init_f.c
index 8e568ee..6f2adf1 100644
--- a/arch/arm/mach-uniphier/board_early_init_f.c
+++ b/arch/arm/mach-uniphier/board_early_init_f.c
@@ -15,51 +15,51 @@
 	switch (uniphier_get_soc_type()) {
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
 	case SOC_UNIPHIER_SLD3:
-		ph1_sld3_pin_init();
+		uniphier_sld3_pin_init();
 		led_puts("U1");
-		ph1_ld4_clk_init();
+		uniphier_ld4_clk_init();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4)
 	case SOC_UNIPHIER_LD4:
-		ph1_ld4_pin_init();
+		uniphier_ld4_pin_init();
 		led_puts("U1");
-		ph1_ld4_clk_init();
+		uniphier_ld4_clk_init();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO4)
 	case SOC_UNIPHIER_PRO4:
-		ph1_pro4_pin_init();
+		uniphier_pro4_pin_init();
 		led_puts("U1");
-		ph1_pro4_clk_init();
+		uniphier_pro4_clk_init();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_SLD8)
 	case SOC_UNIPHIER_SLD8:
-		ph1_sld8_pin_init();
+		uniphier_sld8_pin_init();
 		led_puts("U1");
-		ph1_ld4_clk_init();
+		uniphier_ld4_clk_init();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
 	case SOC_UNIPHIER_PRO5:
-		ph1_pro5_pin_init();
+		uniphier_pro5_pin_init();
 		led_puts("U1");
-		ph1_pro5_clk_init();
+		uniphier_pro5_clk_init();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2)
 	case SOC_UNIPHIER_PXS2:
-		proxstream2_pin_init();
+		uniphier_pxs2_pin_init();
 		led_puts("U1");
-		proxstream2_clk_init();
+		uniphier_pxs2_clk_init();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD6B)
 	case SOC_UNIPHIER_LD6B:
-		ph1_ld6b_pin_init();
+		uniphier_ld6b_pin_init();
 		led_puts("U1");
-		proxstream2_clk_init();
+		uniphier_pxs2_clk_init();
 		break;
 #endif
 	default:
diff --git a/arch/arm/mach-uniphier/boards.c b/arch/arm/mach-uniphier/boards.c
index 5e98c3f..0d2b94d 100644
--- a/arch/arm/mach-uniphier/boards.c
+++ b/arch/arm/mach-uniphier/boards.c
@@ -13,7 +13,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
-static const struct uniphier_board_data ph1_sld3_data = {
+static const struct uniphier_board_data uniphier_sld3_data = {
 	.dram_freq = 1600,
 	.dram_nr_ch = 3,
 	.dram_ch[0] = {
@@ -35,7 +35,7 @@
 #endif
 
 #if defined(CONFIG_ARCH_UNIPHIER_LD4)
-static const struct uniphier_board_data ph1_ld4_data = {
+static const struct uniphier_board_data uniphier_ld4_data = {
 	.dram_freq = 1600,
 	.dram_nr_ch = 2,
 	.dram_ddr3plus = true,
@@ -54,7 +54,7 @@
 
 #if defined(CONFIG_ARCH_UNIPHIER_PRO4)
 /* 1GB RAM board */
-static const struct uniphier_board_data ph1_pro4_data = {
+static const struct uniphier_board_data uniphier_pro4_data = {
 	.dram_freq = 1600,
 	.dram_nr_ch = 2,
 	.dram_ch[0] = {
@@ -70,7 +70,7 @@
 };
 
 /* 2GB RAM board */
-static const struct uniphier_board_data ph1_pro4_2g_data = {
+static const struct uniphier_board_data uniphier_pro4_2g_data = {
 	.dram_freq = 1600,
 	.dram_nr_ch = 2,
 	.dram_ch[0] = {
@@ -87,7 +87,7 @@
 #endif
 
 #if defined(CONFIG_ARCH_UNIPHIER_SLD8)
-static const struct uniphier_board_data ph1_sld8_data = {
+static const struct uniphier_board_data uniphier_sld8_data = {
 	.dram_freq = 1333,
 	.dram_nr_ch = 2,
 	.dram_ddr3plus = true,
@@ -105,7 +105,7 @@
 #endif
 
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
-static const struct uniphier_board_data ph1_pro5_data = {
+static const struct uniphier_board_data uniphier_pro5_data = {
 	.dram_freq = 1866,
 	.dram_nr_ch = 2,
 	.dram_ch[0] = {
@@ -122,7 +122,7 @@
 #endif
 
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2)
-static const struct uniphier_board_data proxstream2_data = {
+static const struct uniphier_board_data uniphier_pxs2_data = {
 	.dram_freq = 2133,
 	.dram_nr_ch = 3,
 	.dram_ch[0] = {
@@ -144,7 +144,7 @@
 #endif
 
 #if defined(CONFIG_ARCH_UNIPHIER_LD6B)
-static const struct uniphier_board_data ph1_ld6b_data = {
+static const struct uniphier_board_data uniphier_ld6b_data = {
 	.dram_freq = 1866,
 	.dram_nr_ch = 3,
 	.dram_ch[0] = {
@@ -172,27 +172,27 @@
 
 static const struct uniphier_board_id uniphier_boards[] = {
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
-	{ "socionext,ph1-sld3", &ph1_sld3_data, },
+	{ "socionext,ph1-sld3", &uniphier_sld3_data, },
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4)
-	{ "socionext,ph1-ld4", &ph1_ld4_data, },
+	{ "socionext,ph1-ld4", &uniphier_ld4_data, },
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO4)
-	{ "socionext,ph1-pro4-ace", &ph1_pro4_2g_data, },
-	{ "socionext,ph1-pro4-sanji", &ph1_pro4_2g_data, },
-	{ "socionext,ph1-pro4", &ph1_pro4_data, },
+	{ "socionext,ph1-pro4-ace", &uniphier_pro4_2g_data, },
+	{ "socionext,ph1-pro4-sanji", &uniphier_pro4_2g_data, },
+	{ "socionext,ph1-pro4", &uniphier_pro4_data, },
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_SLD8)
-	{ "socionext,ph1-sld8", &ph1_sld8_data, },
+	{ "socionext,ph1-sld8", &uniphier_sld8_data, },
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
-	{ "socionext,ph1-pro5", &ph1_pro5_data, },
+	{ "socionext,ph1-pro5", &uniphier_pro5_data, },
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2)
-	{ "socionext,proxstream2", &proxstream2_data, },
+	{ "socionext,proxstream2", &uniphier_pxs2_data, },
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD6B)
-	{ "socionext,ph1-ld6b", &ph1_ld6b_data, },
+	{ "socionext,ph1-ld6b", &uniphier_ld6b_data, },
 #endif
 };
 
diff --git a/arch/arm/mach-uniphier/boot-mode/boot-device.h b/arch/arm/mach-uniphier/boot-mode/boot-device.h
index 1c59aaa..2e05a47 100644
--- a/arch/arm/mach-uniphier/boot-mode/boot-device.h
+++ b/arch/arm/mach-uniphier/boot-mode/boot-device.h
@@ -12,15 +12,15 @@
 	char *info;
 };
 
-u32 ph1_sld3_boot_device(void);
-u32 ph1_ld4_boot_device(void);
-u32 ph1_pro5_boot_device(void);
-u32 proxstream2_boot_device(void);
+u32 uniphier_sld3_boot_device(void);
+u32 uniphier_ld4_boot_device(void);
+u32 uniphier_pro5_boot_device(void);
+u32 uniphier_pxs2_boot_device(void);
 
-void ph1_sld3_boot_mode_show(void);
-void ph1_ld4_boot_mode_show(void);
-void ph1_pro5_boot_mode_show(void);
-void proxstream2_boot_mode_show(void);
+void uniphier_sld3_boot_mode_show(void);
+void uniphier_ld4_boot_mode_show(void);
+void uniphier_pro5_boot_mode_show(void);
+void uniphier_pxs2_boot_mode_show(void);
 
 u32 spl_boot_device_raw(void);
 
diff --git a/arch/arm/mach-uniphier/boot-mode/boot-mode-ld4.c b/arch/arm/mach-uniphier/boot-mode/boot-mode-ld4.c
index ef52d69..0597618 100644
--- a/arch/arm/mach-uniphier/boot-mode/boot-mode-ld4.c
+++ b/arch/arm/mach-uniphier/boot-mode/boot-mode-ld4.c
@@ -51,7 +51,7 @@
 	return (readl(SG_PINMON0) >> 1) & 0x1f;
 }
 
-u32 ph1_ld4_boot_device(void)
+u32 uniphier_ld4_boot_device(void)
 {
 	int boot_mode;
 
@@ -60,7 +60,7 @@
 	return boot_device_table[boot_mode].type;
 }
 
-void ph1_ld4_boot_mode_show(void)
+void uniphier_ld4_boot_mode_show(void)
 {
 	int mode_sel, i;
 
diff --git a/arch/arm/mach-uniphier/boot-mode/boot-mode-pro5.c b/arch/arm/mach-uniphier/boot-mode/boot-mode-pro5.c
index 0ec6a08..f9726f1 100644
--- a/arch/arm/mach-uniphier/boot-mode/boot-mode-pro5.c
+++ b/arch/arm/mach-uniphier/boot-mode/boot-mode-pro5.c
@@ -52,7 +52,7 @@
 	return (readl(SG_PINMON0) >> 1) & 0x1f;
 }
 
-u32 ph1_pro5_boot_device(void)
+u32 uniphier_pro5_boot_device(void)
 {
 	int boot_mode;
 
@@ -61,7 +61,7 @@
 	return boot_device_table[boot_mode].type;
 }
 
-void ph1_pro5_boot_mode_show(void)
+void uniphier_pro5_boot_mode_show(void)
 {
 	int mode_sel, i;
 
diff --git a/arch/arm/mach-uniphier/boot-mode/boot-mode-pxs2.c b/arch/arm/mach-uniphier/boot-mode/boot-mode-pxs2.c
index 1b0c183..4b06f74 100644
--- a/arch/arm/mach-uniphier/boot-mode/boot-mode-pxs2.c
+++ b/arch/arm/mach-uniphier/boot-mode/boot-mode-pxs2.c
@@ -51,7 +51,7 @@
 	return (readl(SG_PINMON0) >> 1) & 0x1f;
 }
 
-u32 proxstream2_boot_device(void)
+u32 uniphier_pxs2_boot_device(void)
 {
 	int boot_mode;
 
@@ -63,7 +63,7 @@
 	return boot_device_table[boot_mode].type;
 }
 
-void proxstream2_boot_mode_show(void)
+void uniphier_pxs2_boot_mode_show(void)
 {
 	int mode_sel, i;
 
diff --git a/arch/arm/mach-uniphier/boot-mode/boot-mode-sld3.c b/arch/arm/mach-uniphier/boot-mode/boot-mode-sld3.c
index 0258fae..a4a3c47 100644
--- a/arch/arm/mach-uniphier/boot-mode/boot-mode-sld3.c
+++ b/arch/arm/mach-uniphier/boot-mode/boot-mode-sld3.c
@@ -83,7 +83,7 @@
 	return readl(SG_PINMON0) & 0x3f;
 }
 
-u32 ph1_sld3_boot_device(void)
+u32 uniphier_sld3_boot_device(void)
 {
 	int boot_mode;
 
@@ -92,7 +92,7 @@
 	return boot_device_table[boot_mode].type;
 }
 
-void ph1_sld3_boot_mode_show(void)
+void uniphier_sld3_boot_mode_show(void)
 {
 	int mode_sel, i;
 
diff --git a/arch/arm/mach-uniphier/boot-mode/boot-mode.c b/arch/arm/mach-uniphier/boot-mode/boot-mode.c
index 317a4f1..b08cd6c 100644
--- a/arch/arm/mach-uniphier/boot-mode/boot-mode.c
+++ b/arch/arm/mach-uniphier/boot-mode/boot-mode.c
@@ -21,23 +21,23 @@
 	switch (uniphier_get_soc_type()) {
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
 	case SOC_UNIPHIER_SLD3:
-		return ph1_sld3_boot_device();
+		return uniphier_sld3_boot_device();
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4) || defined(CONFIG_ARCH_UNIPHIER_PRO4) || \
 	defined(CONFIG_ARCH_UNIPHIER_SLD8)
 	case SOC_UNIPHIER_LD4:
 	case SOC_UNIPHIER_PRO4:
 	case SOC_UNIPHIER_SLD8:
-		return ph1_ld4_boot_device();
+		return uniphier_ld4_boot_device();
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
 	case SOC_UNIPHIER_PRO5:
-		return ph1_pro5_boot_device();
+		return uniphier_pro5_boot_device();
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
 	case SOC_UNIPHIER_PXS2:
 	case SOC_UNIPHIER_LD6B:
-		return proxstream2_boot_device();
+		return uniphier_pxs2_boot_device();
 #endif
 	default:
 		return BOOT_DEVICE_NONE;
diff --git a/arch/arm/mach-uniphier/boot-mode/cmd_pinmon.c b/arch/arm/mach-uniphier/boot-mode/cmd_pinmon.c
index 3a66e2b..bccab62 100644
--- a/arch/arm/mach-uniphier/boot-mode/cmd_pinmon.c
+++ b/arch/arm/mach-uniphier/boot-mode/cmd_pinmon.c
@@ -17,7 +17,7 @@
 	switch (uniphier_get_soc_type()) {
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
 	case SOC_UNIPHIER_SLD3:
-		ph1_sld3_boot_mode_show();
+		uniphier_sld3_boot_mode_show();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4) || defined(CONFIG_ARCH_UNIPHIER_PRO4) || \
@@ -25,18 +25,18 @@
 	case SOC_UNIPHIER_LD4:
 	case SOC_UNIPHIER_PRO4:
 	case SOC_UNIPHIER_SLD8:
-		ph1_ld4_boot_mode_show();
+		uniphier_ld4_boot_mode_show();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
 	case SOC_UNIPHIER_PRO5:
-		ph1_pro5_boot_mode_show();
+		uniphier_pro5_boot_mode_show();
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
 	case SOC_UNIPHIER_PXS2:
 	case SOC_UNIPHIER_LD6B:
-		proxstream2_boot_mode_show();
+		uniphier_pxs2_boot_mode_show();
 		break;
 #endif
 	default:
diff --git a/arch/arm/mach-uniphier/clk/clk-ld4.c b/arch/arm/mach-uniphier/clk/clk-ld4.c
index 7a34bee..f11fb53 100644
--- a/arch/arm/mach-uniphier/clk/clk-ld4.c
+++ b/arch/arm/mach-uniphier/clk/clk-ld4.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-void ph1_ld4_clk_init(void)
+void uniphier_ld4_clk_init(void)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/clk/clk-pro4.c b/arch/arm/mach-uniphier/clk/clk-pro4.c
index c784c31..b163e3c 100644
--- a/arch/arm/mach-uniphier/clk/clk-pro4.c
+++ b/arch/arm/mach-uniphier/clk/clk-pro4.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-void ph1_pro4_clk_init(void)
+void uniphier_pro4_clk_init(void)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/clk/clk-pro5.c b/arch/arm/mach-uniphier/clk/clk-pro5.c
index 039da73..628f5c8 100644
--- a/arch/arm/mach-uniphier/clk/clk-pro5.c
+++ b/arch/arm/mach-uniphier/clk/clk-pro5.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-void ph1_pro5_clk_init(void)
+void uniphier_pro5_clk_init(void)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/clk/clk-pxs2.c b/arch/arm/mach-uniphier/clk/clk-pxs2.c
index a528f04..8548353 100644
--- a/arch/arm/mach-uniphier/clk/clk-pxs2.c
+++ b/arch/arm/mach-uniphier/clk/clk-pxs2.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-void proxstream2_clk_init(void)
+void uniphier_pxs2_clk_init(void)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/dram/ddrphy-ld4.c b/arch/arm/mach-uniphier/dram/ddrphy-ld4.c
index eb9bf24..c9e164f 100644
--- a/arch/arm/mach-uniphier/dram/ddrphy-ld4.c
+++ b/arch/arm/mach-uniphier/dram/ddrphy-ld4.c
@@ -27,7 +27,8 @@
 static u32 ddrphy_mr0[DRAM_FREQ_NR] = {0x00000b51, 0x00000d71};
 static u32 ddrphy_mr2[DRAM_FREQ_NR] = {0x00000290, 0x00000298};
 
-int ph1_ld4_ddrphy_init(struct ddrphy __iomem *phy, int freq, bool ddr3plus)
+int uniphier_ld4_ddrphy_init(struct ddrphy __iomem *phy, int freq,
+			     bool ddr3plus)
 {
 	enum dram_freq freq_e;
 	u32 tmp;
diff --git a/arch/arm/mach-uniphier/dram/ddrphy-regs.h b/arch/arm/mach-uniphier/dram/ddrphy-regs.h
index a1d51ce..a8fe6a0 100644
--- a/arch/arm/mach-uniphier/dram/ddrphy-regs.h
+++ b/arch/arm/mach-uniphier/dram/ddrphy-regs.h
@@ -159,7 +159,8 @@
 #define NR_DATX8_PER_DDRPHY	2
 
 #ifndef __ASSEMBLY__
-int ph1_ld4_ddrphy_init(struct ddrphy __iomem *phy, int freq, bool ddr3plus);
+int uniphier_ld4_ddrphy_init(struct ddrphy __iomem *phy, int freq,
+			     bool ddr3plus);
 void ddrphy_prepare_training(struct ddrphy __iomem *phy, int rank);
 int ddrphy_training(struct ddrphy __iomem *phy);
 #endif
diff --git a/arch/arm/mach-uniphier/dram/umc-ld4.c b/arch/arm/mach-uniphier/dram/umc-ld4.c
index 72447cc..fc75864 100644
--- a/arch/arm/mach-uniphier/dram/umc-ld4.c
+++ b/arch/arm/mach-uniphier/dram/umc-ld4.c
@@ -152,7 +152,7 @@
 
 	writel(0x00000101, dc_base + UMC_DIOCTLA);
 
-	ret = ph1_ld4_ddrphy_init(phy_base, freq, ddr3plus);
+	ret = uniphier_ld4_ddrphy_init(phy_base, freq, ddr3plus);
 	if (ret)
 		return ret;
 
@@ -164,7 +164,7 @@
 	return umc_dramcont_init(dc_base, ca_base, freq, size, ddr3plus);
 }
 
-int ph1_ld4_umc_init(const struct uniphier_board_data *bd)
+int uniphier_ld4_umc_init(const struct uniphier_board_data *bd)
 {
 	void __iomem *umc_base = (void __iomem *)0x5b800000;
 	void __iomem *ca_base = umc_base + 0x00001000;
diff --git a/arch/arm/mach-uniphier/dram/umc-pro4.c b/arch/arm/mach-uniphier/dram/umc-pro4.c
index 23fb7b9..853f561 100644
--- a/arch/arm/mach-uniphier/dram/umc-pro4.c
+++ b/arch/arm/mach-uniphier/dram/umc-pro4.c
@@ -142,7 +142,7 @@
 		writel(0x00000100 | ((1 << (phy + 1)) - 1),
 		       dc_base + UMC_DIOCTLA);
 
-		ret = ph1_ld4_ddrphy_init(phy_base, freq, ddr3plus);
+		ret = uniphier_ld4_ddrphy_init(phy_base, freq, ddr3plus);
 		if (ret)
 			return ret;
 
@@ -158,7 +158,7 @@
 				 ddr3plus);
 }
 
-int ph1_pro4_umc_init(const struct uniphier_board_data *bd)
+int uniphier_pro4_umc_init(const struct uniphier_board_data *bd)
 {
 	void __iomem *umc_base = (void __iomem *)0x5b800000;
 	void __iomem *ca_base = umc_base + 0x00001000;
diff --git a/arch/arm/mach-uniphier/dram/umc-pxs2.c b/arch/arm/mach-uniphier/dram/umc-pxs2.c
index 50c0238..b4da3d2 100644
--- a/arch/arm/mach-uniphier/dram/umc-pxs2.c
+++ b/arch/arm/mach-uniphier/dram/umc-pxs2.c
@@ -598,7 +598,7 @@
 	writel(0x000000ff, um_base + UMC_MBUS3);
 }
 
-int proxstream2_umc_init(const struct uniphier_board_data *bd)
+int uniphier_pxs2_umc_init(const struct uniphier_board_data *bd)
 {
 	void __iomem *um_base = (void __iomem *)0x5b600000;
 	void __iomem *umc_ch_base = (void __iomem *)0x5b800000;
diff --git a/arch/arm/mach-uniphier/dram/umc-sld8.c b/arch/arm/mach-uniphier/dram/umc-sld8.c
index 6cacd25..e831766 100644
--- a/arch/arm/mach-uniphier/dram/umc-sld8.c
+++ b/arch/arm/mach-uniphier/dram/umc-sld8.c
@@ -155,7 +155,7 @@
 
 	writel(0x00000101, dc_base + UMC_DIOCTLA);
 
-	ret = ph1_ld4_ddrphy_init(phy_base, freq, ddr3plus);
+	ret = uniphier_ld4_ddrphy_init(phy_base, freq, ddr3plus);
 	if (ret)
 		return ret;
 
@@ -167,7 +167,7 @@
 	return umc_dramcont_init(dc_base, ca_base, freq, size, ddr3plus);
 }
 
-int ph1_sld8_umc_init(const struct uniphier_board_data *bd)
+int uniphier_sld8_umc_init(const struct uniphier_board_data *bd)
 {
 	void __iomem *umc_base = (void __iomem *)0x5b800000;
 	void __iomem *ca_base = umc_base + 0x00001000;
diff --git a/arch/arm/mach-uniphier/early-clk/early-clk-ld4.c b/arch/arm/mach-uniphier/early-clk/early-clk-ld4.c
index 6574767..c98081f 100644
--- a/arch/arm/mach-uniphier/early-clk/early-clk-ld4.c
+++ b/arch/arm/mach-uniphier/early-clk/early-clk-ld4.c
@@ -11,7 +11,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-int ph1_ld4_early_clk_init(const struct uniphier_board_data *bd)
+int uniphier_ld4_early_clk_init(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/early-clk/early-clk-pro5.c b/arch/arm/mach-uniphier/early-clk/early-clk-pro5.c
index d986358..5fc8cd0 100644
--- a/arch/arm/mach-uniphier/early-clk/early-clk-pro5.c
+++ b/arch/arm/mach-uniphier/early-clk/early-clk-pro5.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-int ph1_pro5_early_clk_init(const struct uniphier_board_data *bd)
+int uniphier_pro5_early_clk_init(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/early-clk/early-clk-pxs2.c b/arch/arm/mach-uniphier/early-clk/early-clk-pxs2.c
index a573a96..92b2dcb 100644
--- a/arch/arm/mach-uniphier/early-clk/early-clk-pxs2.c
+++ b/arch/arm/mach-uniphier/early-clk/early-clk-pxs2.c
@@ -11,7 +11,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-int proxstream2_early_clk_init(const struct uniphier_board_data *bd)
+int uniphier_pxs2_early_clk_init(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/early-pinctrl/early-pinctrl-sld3.c b/arch/arm/mach-uniphier/early-pinctrl/early-pinctrl-sld3.c
index 7923644..22c07fb 100644
--- a/arch/arm/mach-uniphier/early-pinctrl/early-pinctrl-sld3.c
+++ b/arch/arm/mach-uniphier/early-pinctrl/early-pinctrl-sld3.c
@@ -7,7 +7,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-int ph1_sld3_early_pin_init(const struct uniphier_board_data *bd)
+int uniphier_sld3_early_pin_init(const struct uniphier_board_data *bd)
 {
 	/* Comment format:    PAD Name -> Function Name */
 
diff --git a/arch/arm/mach-uniphier/init.h b/arch/arm/mach-uniphier/init.h
index cef9d62..3abf4aa 100644
--- a/arch/arm/mach-uniphier/init.h
+++ b/arch/arm/mach-uniphier/init.h
@@ -26,26 +26,28 @@
 
 const struct uniphier_board_data *uniphier_get_board_param(void);
 
-int ph1_sld3_init(const struct uniphier_board_data *bd);
-int ph1_ld4_init(const struct uniphier_board_data *bd);
-int ph1_pro4_init(const struct uniphier_board_data *bd);
-int ph1_sld8_init(const struct uniphier_board_data *bd);
-int ph1_pro5_init(const struct uniphier_board_data *bd);
-int proxstream2_init(const struct uniphier_board_data *bd);
+int uniphier_sld3_init(const struct uniphier_board_data *bd);
+int uniphier_ld4_init(const struct uniphier_board_data *bd);
+int uniphier_pro4_init(const struct uniphier_board_data *bd);
+int uniphier_sld8_init(const struct uniphier_board_data *bd);
+int uniphier_pro5_init(const struct uniphier_board_data *bd);
+int uniphier_pxs2_init(const struct uniphier_board_data *bd);
 
 #if defined(CONFIG_MICRO_SUPPORT_CARD)
-int sbc_admulti_init(const struct uniphier_board_data *bd);
-int sbc_savepin_init(const struct uniphier_board_data *bd);
+int uniphier_sbc_init_admulti(const struct uniphier_board_data *bd);
+int uniphier_sbc_init_savepin(const struct uniphier_board_data *bd);
 int uniphier_sld3_sbc_init(const struct uniphier_board_data *bd);
 int uniphier_ld4_sbc_init(const struct uniphier_board_data *bd);
 int uniphier_pxs2_sbc_init(const struct uniphier_board_data *bd);
 #else
-static inline int sbc_admulti_init(const struct uniphier_board_data *bd)
+static inline int uniphier_sbc_init_admulti(
+					const struct uniphier_board_data *bd)
 {
 	return 0;
 }
 
-static inline int sbc_savepin_init(const struct uniphier_board_data *bd)
+static inline int uniphier_sbc_init_savepin(
+					const struct uniphier_board_data *bd)
 {
 	return 0;
 }
@@ -66,44 +68,44 @@
 }
 #endif
 
-int ph1_sld3_bcu_init(const struct uniphier_board_data *bd);
-int ph1_ld4_bcu_init(const struct uniphier_board_data *bd);
+int uniphier_sld3_bcu_init(const struct uniphier_board_data *bd);
+int uniphier_ld4_bcu_init(const struct uniphier_board_data *bd);
 
 int memconf_init(const struct uniphier_board_data *bd);
-int ph1_sld3_memconf_init(const struct uniphier_board_data *bd);
-int proxstream2_memconf_init(const struct uniphier_board_data *bd);
+int uniphier_sld3_memconf_init(const struct uniphier_board_data *bd);
+int uniphier_pxs2_memconf_init(const struct uniphier_board_data *bd);
 
-int ph1_sld3_pll_init(const struct uniphier_board_data *bd);
-int ph1_ld4_pll_init(const struct uniphier_board_data *bd);
-int ph1_pro4_pll_init(const struct uniphier_board_data *bd);
-int ph1_sld8_pll_init(const struct uniphier_board_data *bd);
+int uniphier_sld3_pll_init(const struct uniphier_board_data *bd);
+int uniphier_ld4_pll_init(const struct uniphier_board_data *bd);
+int uniphier_pro4_pll_init(const struct uniphier_board_data *bd);
+int uniphier_sld8_pll_init(const struct uniphier_board_data *bd);
 
-int ph1_sld3_enable_dpll_ssc(const struct uniphier_board_data *bd);
-int ph1_ld4_enable_dpll_ssc(const struct uniphier_board_data *bd);
+int uniphier_sld3_enable_dpll_ssc(const struct uniphier_board_data *bd);
+int uniphier_ld4_enable_dpll_ssc(const struct uniphier_board_data *bd);
 
-int ph1_ld4_early_clk_init(const struct uniphier_board_data *bd);
-int ph1_pro5_early_clk_init(const struct uniphier_board_data *bd);
-int proxstream2_early_clk_init(const struct uniphier_board_data *bd);
+int uniphier_ld4_early_clk_init(const struct uniphier_board_data *bd);
+int uniphier_pro5_early_clk_init(const struct uniphier_board_data *bd);
+int uniphier_pxs2_early_clk_init(const struct uniphier_board_data *bd);
 
-int ph1_sld3_early_pin_init(const struct uniphier_board_data *bd);
+int uniphier_sld3_early_pin_init(const struct uniphier_board_data *bd);
 
-int ph1_ld4_umc_init(const struct uniphier_board_data *bd);
-int ph1_pro4_umc_init(const struct uniphier_board_data *bd);
-int ph1_sld8_umc_init(const struct uniphier_board_data *bd);
-int proxstream2_umc_init(const struct uniphier_board_data *bd);
+int uniphier_ld4_umc_init(const struct uniphier_board_data *bd);
+int uniphier_pro4_umc_init(const struct uniphier_board_data *bd);
+int uniphier_sld8_umc_init(const struct uniphier_board_data *bd);
+int uniphier_pxs2_umc_init(const struct uniphier_board_data *bd);
 
-void ph1_sld3_pin_init(void);
-void ph1_ld4_pin_init(void);
-void ph1_pro4_pin_init(void);
-void ph1_sld8_pin_init(void);
-void ph1_pro5_pin_init(void);
-void proxstream2_pin_init(void);
-void ph1_ld6b_pin_init(void);
+void uniphier_sld3_pin_init(void);
+void uniphier_ld4_pin_init(void);
+void uniphier_pro4_pin_init(void);
+void uniphier_sld8_pin_init(void);
+void uniphier_pro5_pin_init(void);
+void uniphier_pxs2_pin_init(void);
+void uniphier_ld6b_pin_init(void);
 
-void ph1_ld4_clk_init(void);
-void ph1_pro4_clk_init(void);
-void ph1_pro5_clk_init(void);
-void proxstream2_clk_init(void);
+void uniphier_ld4_clk_init(void);
+void uniphier_pro4_clk_init(void);
+void uniphier_pro5_clk_init(void);
+void uniphier_pxs2_clk_init(void);
 
 #define pr_err(fmt, args...)	printf(fmt, ##args)
 
diff --git a/arch/arm/mach-uniphier/init/init-ld4.c b/arch/arm/mach-uniphier/init/init-ld4.c
index 5295cd0..b1c9b5d 100644
--- a/arch/arm/mach-uniphier/init/init-ld4.c
+++ b/arch/arm/mach-uniphier/init/init-ld4.c
@@ -10,16 +10,16 @@
 #include "../init.h"
 #include "../micro-support-card.h"
 
-int ph1_ld4_init(const struct uniphier_board_data *bd)
+int uniphier_ld4_init(const struct uniphier_board_data *bd)
 {
-	ph1_ld4_bcu_init(bd);
+	uniphier_ld4_bcu_init(bd);
 
-	sbc_savepin_init(bd);
+	uniphier_sbc_init_savepin(bd);
 	uniphier_ld4_sbc_init(bd);
 
 	support_card_reset();
 
-	ph1_ld4_pll_init(bd);
+	uniphier_ld4_pll_init(bd);
 
 	support_card_init();
 
@@ -29,7 +29,7 @@
 
 	led_puts("L1");
 
-	ph1_ld4_early_clk_init(bd);
+	uniphier_ld4_early_clk_init(bd);
 
 	led_puts("L2");
 
@@ -44,7 +44,7 @@
 	{
 		int res;
 
-		res = ph1_ld4_umc_init(bd);
+		res = uniphier_ld4_umc_init(bd);
 		if (res < 0) {
 			while (1)
 				;
@@ -53,7 +53,7 @@
 
 	led_puts("L5");
 
-	ph1_ld4_enable_dpll_ssc(bd);
+	uniphier_ld4_enable_dpll_ssc(bd);
 
 	led_puts("L6");
 
diff --git a/arch/arm/mach-uniphier/init/init-pro4.c b/arch/arm/mach-uniphier/init/init-pro4.c
index 456fb48..3528d84 100644
--- a/arch/arm/mach-uniphier/init/init-pro4.c
+++ b/arch/arm/mach-uniphier/init/init-pro4.c
@@ -10,13 +10,13 @@
 #include "../init.h"
 #include "../micro-support-card.h"
 
-int ph1_pro4_init(const struct uniphier_board_data *bd)
+int uniphier_pro4_init(const struct uniphier_board_data *bd)
 {
-	sbc_savepin_init(bd);
+	uniphier_sbc_init_savepin(bd);
 
 	support_card_reset();
 
-	ph1_pro4_pll_init(bd);
+	uniphier_pro4_pll_init(bd);
 
 	support_card_init();
 
@@ -26,7 +26,7 @@
 
 	led_puts("L1");
 
-	ph1_ld4_early_clk_init(bd);
+	uniphier_ld4_early_clk_init(bd);
 
 	led_puts("L2");
 
@@ -41,7 +41,7 @@
 	{
 		int res;
 
-		res = ph1_pro4_umc_init(bd);
+		res = uniphier_pro4_umc_init(bd);
 		if (res < 0) {
 			while (1)
 				;
@@ -50,7 +50,7 @@
 
 	led_puts("L5");
 
-	ph1_ld4_enable_dpll_ssc(bd);
+	uniphier_ld4_enable_dpll_ssc(bd);
 
 	led_puts("L6");
 
diff --git a/arch/arm/mach-uniphier/init/init-pro5.c b/arch/arm/mach-uniphier/init/init-pro5.c
index c2c6803..c809ae7 100644
--- a/arch/arm/mach-uniphier/init/init-pro5.c
+++ b/arch/arm/mach-uniphier/init/init-pro5.c
@@ -10,9 +10,9 @@
 #include "../init.h"
 #include "../micro-support-card.h"
 
-int ph1_pro5_init(const struct uniphier_board_data *bd)
+int uniphier_pro5_init(const struct uniphier_board_data *bd)
 {
-	sbc_savepin_init(bd);
+	uniphier_sbc_init_savepin(bd);
 
 	support_card_reset();
 
@@ -24,7 +24,7 @@
 
 	led_puts("L1");
 
-	ph1_pro5_early_clk_init(bd);
+	uniphier_pro5_early_clk_init(bd);
 
 	led_puts("L2");
 
diff --git a/arch/arm/mach-uniphier/init/init-pxs2.c b/arch/arm/mach-uniphier/init/init-pxs2.c
index 2d4b6fb..5e07db1 100644
--- a/arch/arm/mach-uniphier/init/init-pxs2.c
+++ b/arch/arm/mach-uniphier/init/init-pxs2.c
@@ -10,11 +10,11 @@
 #include "../init.h"
 #include "../micro-support-card.h"
 
-int proxstream2_init(const struct uniphier_board_data *bd)
+int uniphier_pxs2_init(const struct uniphier_board_data *bd)
 {
 	int ret;
 
-	sbc_savepin_init(bd);
+	uniphier_sbc_init_savepin(bd);
 	uniphier_pxs2_sbc_init(bd);
 
 	support_card_reset();
@@ -24,11 +24,11 @@
 	led_puts("L0");
 
 	memconf_init(bd);
-	proxstream2_memconf_init(bd);
+	uniphier_pxs2_memconf_init(bd);
 
 	led_puts("L1");
 
-	proxstream2_early_clk_init(bd);
+	uniphier_pxs2_early_clk_init(bd);
 
 	led_puts("L2");
 
@@ -40,7 +40,7 @@
 
 	led_puts("L4");
 
-	ret = proxstream2_umc_init(bd);
+	ret = uniphier_pxs2_umc_init(bd);
 	if (ret)
 		return ret;
 
diff --git a/arch/arm/mach-uniphier/init/init-sld3.c b/arch/arm/mach-uniphier/init/init-sld3.c
index c48126f..473e0c8 100644
--- a/arch/arm/mach-uniphier/init/init-sld3.c
+++ b/arch/arm/mach-uniphier/init/init-sld3.c
@@ -10,31 +10,31 @@
 #include "../init.h"
 #include "../micro-support-card.h"
 
-int ph1_sld3_init(const struct uniphier_board_data *bd)
+int uniphier_sld3_init(const struct uniphier_board_data *bd)
 {
-	ph1_sld3_bcu_init(bd);
+	uniphier_sld3_bcu_init(bd);
 
-	sbc_admulti_init(bd);
+	uniphier_sbc_init_admulti(bd);
 	uniphier_sld3_sbc_init(bd);
 
 	support_card_reset();
 
-	ph1_sld3_pll_init(bd);
+	uniphier_sld3_pll_init(bd);
 
 	support_card_init();
 
 	led_puts("L0");
 
 	memconf_init(bd);
-	ph1_sld3_memconf_init(bd);
+	uniphier_sld3_memconf_init(bd);
 
 	led_puts("L1");
 
-	ph1_ld4_early_clk_init(bd);
+	uniphier_ld4_early_clk_init(bd);
 
 	led_puts("L2");
 
-	ph1_sld3_early_pin_init(bd);
+	uniphier_sld3_early_pin_init(bd);
 
 	led_puts("L3");
 
@@ -46,7 +46,7 @@
 
 	led_puts("L5");
 
-	ph1_sld3_enable_dpll_ssc(bd);
+	uniphier_sld3_enable_dpll_ssc(bd);
 
 	led_puts("L6");
 
diff --git a/arch/arm/mach-uniphier/init/init-sld8.c b/arch/arm/mach-uniphier/init/init-sld8.c
index 1f31ca6..07c6d60 100644
--- a/arch/arm/mach-uniphier/init/init-sld8.c
+++ b/arch/arm/mach-uniphier/init/init-sld8.c
@@ -10,16 +10,16 @@
 #include "../init.h"
 #include "../micro-support-card.h"
 
-int ph1_sld8_init(const struct uniphier_board_data *bd)
+int uniphier_sld8_init(const struct uniphier_board_data *bd)
 {
-	ph1_ld4_bcu_init(bd);
+	uniphier_ld4_bcu_init(bd);
 
-	sbc_savepin_init(bd);
+	uniphier_sbc_init_savepin(bd);
 	uniphier_ld4_sbc_init(bd);
 
 	support_card_reset();
 
-	ph1_sld8_pll_init(bd);
+	uniphier_sld8_pll_init(bd);
 
 	support_card_init();
 
@@ -29,7 +29,7 @@
 
 	led_puts("L1");
 
-	ph1_ld4_early_clk_init(bd);
+	uniphier_ld4_early_clk_init(bd);
 
 	led_puts("L2");
 
@@ -44,7 +44,7 @@
 	{
 		int res;
 
-		res = ph1_sld8_umc_init(bd);
+		res = uniphier_sld8_umc_init(bd);
 		if (res < 0) {
 			while (1)
 				;
@@ -53,7 +53,7 @@
 
 	led_puts("L5");
 
-	ph1_ld4_enable_dpll_ssc(bd);
+	uniphier_ld4_enable_dpll_ssc(bd);
 
 	led_puts("L6");
 
diff --git a/arch/arm/mach-uniphier/init/init.c b/arch/arm/mach-uniphier/init/init.c
index 7316d51..c56c44c 100644
--- a/arch/arm/mach-uniphier/init/init.c
+++ b/arch/arm/mach-uniphier/init/init.c
@@ -26,33 +26,33 @@
 	switch (uniphier_get_soc_type()) {
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
 	case SOC_UNIPHIER_SLD3:
-		ph1_sld3_init(param);
+		uniphier_sld3_init(param);
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4)
 	case SOC_UNIPHIER_LD4:
-		ph1_ld4_init(param);
+		uniphier_ld4_init(param);
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO4)
 	case SOC_UNIPHIER_PRO4:
-		ph1_pro4_init(param);
+		uniphier_pro4_init(param);
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_SLD8)
 	case SOC_UNIPHIER_SLD8:
-		ph1_sld8_init(param);
+		uniphier_sld8_init(param);
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
 	case SOC_UNIPHIER_PRO5:
-		ph1_pro5_init(param);
+		uniphier_pro5_init(param);
 		break;
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
 	case SOC_UNIPHIER_PXS2:
 	case SOC_UNIPHIER_LD6B:
-		proxstream2_init(param);
+		uniphier_pxs2_init(param);
 		break;
 #endif
 	default:
diff --git a/arch/arm/mach-uniphier/memconf/memconf-pxs2.c b/arch/arm/mach-uniphier/memconf/memconf-pxs2.c
index c47fe0a..bf14d0d 100644
--- a/arch/arm/mach-uniphier/memconf/memconf-pxs2.c
+++ b/arch/arm/mach-uniphier/memconf/memconf-pxs2.c
@@ -12,7 +12,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-int proxstream2_memconf_init(const struct uniphier_board_data *bd)
+int uniphier_pxs2_memconf_init(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 	unsigned long size_per_word;
diff --git a/arch/arm/mach-uniphier/memconf/memconf-sld3.c b/arch/arm/mach-uniphier/memconf/memconf-sld3.c
index 6fdf910..948f82c 100644
--- a/arch/arm/mach-uniphier/memconf/memconf-sld3.c
+++ b/arch/arm/mach-uniphier/memconf/memconf-sld3.c
@@ -12,7 +12,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-int ph1_sld3_memconf_init(const struct uniphier_board_data *bd)
+int uniphier_sld3_memconf_init(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 	unsigned long size_per_word;
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-ld4.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-ld4.c
index 2fe2c7f..625d40c 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-ld4.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-ld4.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void ph1_ld4_pin_init(void)
+void uniphier_ld4_pin_init(void)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-ld6b.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-ld6b.c
index 4faeaf5..913722b 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-ld6b.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-ld6b.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void ph1_ld6b_pin_init(void)
+void uniphier_ld6b_pin_init(void)
 {
 	/* Comment format:    PAD Name -> Function Name */
 
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-pro4.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-pro4.c
index b08ca1e..3796491 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-pro4.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-pro4.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void ph1_pro4_pin_init(void)
+void uniphier_pro4_pin_init(void)
 {
 	/* Comment format:    PAD Name -> Function Name */
 
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-pro5.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-pro5.c
index 79160d6..32ba923 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-pro5.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-pro5.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void ph1_pro5_pin_init(void)
+void uniphier_pro5_pin_init(void)
 {
 	/* Comment format:    PAD Name -> Function Name */
 
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-pxs2.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-pxs2.c
index a662db8..2d62ab3 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-pxs2.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-pxs2.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void proxstream2_pin_init(void)
+void uniphier_pxs2_pin_init(void)
 {
 	/* Comment format:    PAD Name -> Function Name */
 
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-sld3.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-sld3.c
index f85ed53..62edc49 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-sld3.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-sld3.c
@@ -7,7 +7,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void ph1_sld3_pin_init(void)
+void uniphier_sld3_pin_init(void)
 {
 #ifdef CONFIG_USB_EHCI
 	sg_set_pinsel(13, 0, 4, 4);	/* USB0OC */
diff --git a/arch/arm/mach-uniphier/pinctrl/pinctrl-sld8.c b/arch/arm/mach-uniphier/pinctrl/pinctrl-sld8.c
index f3fae1d..1c97c8b 100644
--- a/arch/arm/mach-uniphier/pinctrl/pinctrl-sld8.c
+++ b/arch/arm/mach-uniphier/pinctrl/pinctrl-sld8.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sg-regs.h"
 
-void ph1_sld8_pin_init(void)
+void uniphier_sld8_pin_init(void)
 {
 	/* Comment format:    PAD Name -> Function Name */
 
diff --git a/arch/arm/mach-uniphier/pll/pll-init-ld4.c b/arch/arm/mach-uniphier/pll/pll-init-ld4.c
index b2de9e8..57c1d9f 100644
--- a/arch/arm/mach-uniphier/pll/pll-init-ld4.c
+++ b/arch/arm/mach-uniphier/pll/pll-init-ld4.c
@@ -183,7 +183,7 @@
 	writel(tmp, SC_VPLL27BCTRL);
 }
 
-int ph1_ld4_pll_init(const struct uniphier_board_data *bd)
+int uniphier_ld4_pll_init(const struct uniphier_board_data *bd)
 {
 	int ret;
 
diff --git a/arch/arm/mach-uniphier/pll/pll-init-pro4.c b/arch/arm/mach-uniphier/pll/pll-init-pro4.c
index 69d518d..a7e4e0e 100644
--- a/arch/arm/mach-uniphier/pll/pll-init-pro4.c
+++ b/arch/arm/mach-uniphier/pll/pll-init-pro4.c
@@ -145,7 +145,7 @@
 	writel(tmp, SC_VPLL27BCTRL);
 }
 
-int ph1_pro4_pll_init(const struct uniphier_board_data *bd)
+int uniphier_pro4_pll_init(const struct uniphier_board_data *bd)
 {
 	int ret;
 
diff --git a/arch/arm/mach-uniphier/pll/pll-init-sld3.c b/arch/arm/mach-uniphier/pll/pll-init-sld3.c
index b93806c..5b4f2e3 100644
--- a/arch/arm/mach-uniphier/pll/pll-init-sld3.c
+++ b/arch/arm/mach-uniphier/pll/pll-init-sld3.c
@@ -6,7 +6,7 @@
 
 #include "../init.h"
 
-int ph1_sld3_pll_init(const struct uniphier_board_data *bd)
+int uniphier_sld3_pll_init(const struct uniphier_board_data *bd)
 {
 	/* add pll init code here */
 	return 0;
diff --git a/arch/arm/mach-uniphier/pll/pll-init-sld8.c b/arch/arm/mach-uniphier/pll/pll-init-sld8.c
index 3c75504..b26106e 100644
--- a/arch/arm/mach-uniphier/pll/pll-init-sld8.c
+++ b/arch/arm/mach-uniphier/pll/pll-init-sld8.c
@@ -188,7 +188,7 @@
 	writel(tmp, SC_VPLL27BCTRL);
 }
 
-int ph1_sld8_pll_init(const struct uniphier_board_data *bd)
+int uniphier_sld8_pll_init(const struct uniphier_board_data *bd)
 {
 	dpll_init();
 	upll_init();
diff --git a/arch/arm/mach-uniphier/pll/pll-spectrum-ld4.c b/arch/arm/mach-uniphier/pll/pll-spectrum-ld4.c
index a1c8089..dc97697 100644
--- a/arch/arm/mach-uniphier/pll/pll-spectrum-ld4.c
+++ b/arch/arm/mach-uniphier/pll/pll-spectrum-ld4.c
@@ -9,7 +9,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-int ph1_ld4_enable_dpll_ssc(const struct uniphier_board_data *bd)
+int uniphier_ld4_enable_dpll_ssc(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/pll/pll-spectrum-sld3.c b/arch/arm/mach-uniphier/pll/pll-spectrum-sld3.c
index 94654ee..ff09a92 100644
--- a/arch/arm/mach-uniphier/pll/pll-spectrum-sld3.c
+++ b/arch/arm/mach-uniphier/pll/pll-spectrum-sld3.c
@@ -10,7 +10,7 @@
 #include "../init.h"
 #include "../sc-regs.h"
 
-int ph1_sld3_enable_dpll_ssc(const struct uniphier_board_data *bd)
+int uniphier_sld3_enable_dpll_ssc(const struct uniphier_board_data *bd)
 {
 	u32 tmp;
 
diff --git a/arch/arm/mach-uniphier/sbc/sbc-admulti.c b/arch/arm/mach-uniphier/sbc/sbc-admulti.c
index 8e9f8eb..05108dd 100644
--- a/arch/arm/mach-uniphier/sbc/sbc-admulti.c
+++ b/arch/arm/mach-uniphier/sbc/sbc-admulti.c
@@ -19,7 +19,7 @@
 #define SBCTRL1_ADMULTIPLX_MEM_VALUE	0x03005500
 #define SBCTRL2_ADMULTIPLX_MEM_VALUE	0x14000010
 
-int sbc_admulti_init(const struct uniphier_board_data *bd)
+int uniphier_sbc_init_admulti(const struct uniphier_board_data *bd)
 {
 	/*
 	 * Only CS1 is connected to support card.
diff --git a/arch/arm/mach-uniphier/sbc/sbc-savepin.c b/arch/arm/mach-uniphier/sbc/sbc-savepin.c
index e3e3daa..41e9796 100644
--- a/arch/arm/mach-uniphier/sbc/sbc-savepin.c
+++ b/arch/arm/mach-uniphier/sbc/sbc-savepin.c
@@ -22,7 +22,7 @@
 #define SBCTRL2_SAVEPIN_MEM_VALUE	0x34000009
 #define SBCTRL4_SAVEPIN_MEM_VALUE	0x02110210
 
-int sbc_savepin_init(const struct uniphier_board_data *bd)
+int uniphier_sbc_init_savepin(const struct uniphier_board_data *bd)
 {
 	/*
 	 * Only CS1 is connected to support card.
